90356bd3f32b38874bdd8b30eec3f01ca0591755,inspectit.server/src/main/java/rocks/inspectit/server/service/RegistrationService.java,RegistrationService,registerMethodSensorTypeIdent,#number#String#Map#,226

Before Change


		MethodSensorTypeIdent methodSensorTypeIdent;

		List<MethodSensorTypeIdent> methodSensorTypeIdents = methodSensorTypeIdentDao.findByClassNameAndPlatformId(fullyQualifiedClassName, platformId);
		if (1 == methodSensorTypeIdents.size()) {
			methodSensorTypeIdent = methodSensorTypeIdents.get(0);

			// update preferences
			methodSensorTypeIdent.setSettings(parameters);
			methodSensorTypeIdentDao.saveOrUpdate(methodSensorTypeIdent);
		} else {
			// only if the new sensor is registered we need to update the platform ident
			PlatformIdent platformIdent = platformIdentDao.load(platformId);
			methodSensorTypeIdent = new MethodSensorTypeIdent();
			methodSensorTypeIdent.setPlatformIdent(platformIdent);
			methodSensorTypeIdent.setFullyQualifiedClassName(fullyQualifiedClassName);
			methodSensorTypeIdent.setSettings(parameters);

			Set<SensorTypeIdent> sensorTypeIdents = platformIdent.getSensorTypeIdents();
			sensorTypeIdents.add(methodSensorTypeIdent);

			methodSensorTypeIdentDao.saveOrUpdate(methodSensorTypeIdent);
			platformIdentDao.saveOrUpdate(platformIdent);

		}
		platformIdentCache.markDirty(platformId);
		return methodSensorTypeIdent.getId();
	}

	/**

After Change


	public long registerMethodSensorTypeIdent(long platformId, String fullyQualifiedClassName, Map<String, Object> parameters) {
		MethodSensorTypeIdent methodSensorTypeIdent;

		try {
			List<Long> methodSensorTypeIdents = methodSensorTypeIdentDao.findIdByClassNameAndPlatformId(fullyQualifiedClassName, platformId);
			if (1 == methodSensorTypeIdents.size()) {
				Long id = methodSensorTypeIdents.get(0);
				methodSensorTypeIdentDao.updateParameters(id, parameters);
				return id;
			} else {
				// only if the new sensor is registered we need to update the platform ident
				PlatformIdent platformIdent = new PlatformIdent();
				platformIdent.setId(platformId);
				methodSensorTypeIdent = new MethodSensorTypeIdent();
				methodSensorTypeIdent.setPlatformIdent(platformIdent);
				methodSensorTypeIdent.setFullyQualifiedClassName(fullyQualifiedClassName);
				methodSensorTypeIdent.setSettings(parameters);
				methodSensorTypeIdentDao.saveOrUpdate(methodSensorTypeIdent);
				return methodSensorTypeIdent.getId();
			}
		} finally {
			platformIdentCache.markDirty(platformId);